#!/bin/bash

# 定义目标文件
target_file="./mysql-init.d/init.sql"

# 创建目标文件所在目录
mkdir -p "$(dirname "$target_file")"

# 清空目标文件并添加指定的 SQL 语句，包含 USE 语句
cat << EOF > "$target_file"
DROP DATABASE IF EXISTS \`ry_cloud\`;
CREATE DATABASE  \`ry_cloud\` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE \`ry_cloud\`;
EOF

# 导入 ry_*.sql
for file in ../sql/ry_*.sql; do
    if [ -f "$file" ]; then
        cat "$file" >> "$target_file"
        echo -e "\n" >> "$target_file"
    else
        echo "未找到符合模式的 ry_*.sql 文件，跳过。"
        break
    fi
done

# 导入 quartz.sql
quartz_file="../sql/quartz.sql"
if [ -f "$quartz_file" ]; then
    cat "$quartz_file" >> "$target_file"
    echo -e "\n" >> "$target_file"
else
    echo "文件 $quartz_file 不存在，跳过。"
fi

# 导入 ry_config_*.sql
for file in ../sql/ry_config_*.sql; do
    if [ -f "$file" ]; then
        cat "$file" >> "$target_file"
        echo -e "\n" >> "$target_file"
    else
        echo "未找到符合模式的 ry_config_*.sql 文件，跳过。"
        break
    fi
done

# 导入 ry_seata_*.sql
for file in ../sql/ry_seata_*.sql; do
    if [ -f "$file" ]; then
        cat "$file" >> "$target_file"
        echo -e "\n" >> "$target_file"
    else
        echo "未找到符合模式的 ry_seata_*.sql 文件，跳过。"
        break
    fi
done

# 将新文件中所有的 ry- 替换成 ry_
sed -i 's/ry-/ry_/g' "$target_file"

echo "SQL 文件导入完成，且完成替换操作，结果保存在 $target_file。"